package cn.iocoder.yudao.module.system.service.jd;

import javax.validation.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.jd.*;
import cn.iocoder.yudao.module.system.dal.dataobject.jd.RechargeDO;

import java.util.HashMap;

/**
 * 京东提交生产 Service 接口
 *
 * @author 发起人
 */
public interface RechargeService {

    /**
     * 创建京东提交生产
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createRecharge(@Valid RechargeSaveReqVO createReqVO);

    /**
     * 更新京东提交生产
     *
     * @param updateReqVO 更新信息
     */
    void updateRecharge(@Valid RechargeSaveReqVO updateReqVO);

    /**
     * 删除京东提交生产
     *
     * @param id 编号
     */
    void deleteRecharge(Integer id);

    /**
     * 获得京东提交生产
     *
     * @param id 编号
     * @return 京东提交生产
     */
    RechargeDO getRecharge(Integer id);

    /**
     * 获得京东提交生产分页
     *
     * @param pageReqVO 分页查询
     * @return 京东提交生产分页
     */
    PageResult<RechargeDO> getRechargePage(RechargePageReqVO pageReqVO);

    RechargeDO getRecharge(String jdOrderNo);

    SubmitRechargeResVO beginDisstill(@Valid SubmitRechargeReqVO reqVO);

    SubmitRechargeResVO findDistill(@Valid ProductionCheckReqVO reqVO);

    HashMap<String,String> produceResult(Integer jdOrderNo, Integer produceStatus);

}